package com.example.comment_oa.pojos;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;


/**
 *
 * @TableName positive
 */
@TableName(value ="positive")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Positive implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer posId;

    /**
     * 员工表id
     */
    private Integer empId;

    /**
     * 审批人
     */
    private String posName;

    /**
     * 申请人部门
     */
    private Integer deptId;

    /**
     * 申请人岗位
     */
    private Integer postId;

    /**
     * 申请人上级
     */
    private String posHigherUp;

    /**
     * 入职日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "P_INTER")
    private Date posTime;

    /**
     * 申请日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    private Timestamp posDate;

    /**
     * 对岗位的理解
     */
    private String posUnderstand;

    /**
     * 试用期表现
     */
    private String posExpression;

    /**
     * 目前存在的不足
     */
    private String posDeficiency;

    /**
     * 如何在本岗位做的更好
     */
    private String posBetter;

    /**
     * 对公司的建议与意见
     */
    private String posAdvice;

    /**
     * 流程状态、待发起0、审批中1、审批成功2、审批失败3
     */
    private Integer posState;
    /**
     * 申请编号
     */
    private String posBianhao;
    /**
     * 工号
     */
    private String posGonghao;

    //@tablefield意思是告诉程序表名没有这个字段
    @TableField(exist = false)
    //两表联查，装次表的实体类对象数据
    private SysEmployee sysEmployee;
    @TableField(exist = false)
    //两表联查，装次表的实体类对象数据
    private SysDept dept;
    @TableField(exist = false)
    //两表联查，装次表的实体类对象数据
    private SysPost post;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;


}